Cloud computing has garnered much attention in recent years. This type of computing provides various kinds of services and computer environments by combining hardware resources (such as CPU, memory, and storage) and software resources (such as applications) in response to user requests received over a network.
Indeed, cloud computing generally involves various hardware resources and software resources combined and provided to a user. Thus, it is relatively difficult for the user to determine an appropriate usage amount of such resources. A typical cloud-computing model charges users for resources as they are used. Some techniques enable a user to reserve extra resources for an additional fee. If such resources are not used, however, resources may be unnecessarily idle. On the other hand, if resources are insufficient, it may not be possible to complete a particular service within a reserved service period. In this case, the service may be suspended and an extra fee charged.